Package | hl7.fhir.uv.sdc |
Type | OperationDefinition |
Id | Id |
FHIR Version | R4 |
Source | http://hl7.org/fhir/uv/sdc/https://build.fhir.org/ig/HL7/sdc/OperationDefinition-Questionnaire-populate.html |
Url | http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-populate |
Version | 3.0.0 |
Status | draft |
Date | 2018-08-19T21:48:56+10:00 |
Name | SDCPopulateQuestionnaire |
Title | Populate Questionnaire |
Experimental | False |
Realm | uv |
Authority | hl7 |
Description | Generates a [QuestionnaireResponse](http://hl7.org/fhir/R4/questionnaireresponse.html) instance based on a specified [Questionnaire](http://hl7.org/fhir/R4/questionnaire.html), filling in answers to questions where possible based on information provided as part of the operation or already known by the server about the subject of the [Questionnaire](http://hl7.org/fhir/R4/questionnaire.html). If the operation is not called at the instance level, one and only one of the identifier, questionnaire or questionnaireRef `in` parameters must be provided. If called at the instance level, these parameters will be ignored. The response will contain a [QuestionnaireResponse](http://hl7.org/fhir/R4/questionnaireresponse.html) instance based on the specified [Questionnaire](http://hl7.org/fhir/R4/questionnaire.html) and/or an [OperationOutcome](http://hl7.org/fhir/R4/operationoutcome.html) resource with errors or warnings. The [QuestionnaireResponse](http://hl7.org/fhir/R4/questionnaireresponse.html) instance will be populated with an unanswered set of questions following the group and question structure of the specified [Questionnaire](http://hl7.org/fhir/R4/questionnaire.html). If *content* parameters were specified or the *local* parameter was set to true, some of the questions may have answers filled in as well. In the case of repeating questions or groups, typically only one repetition will be provided unless answer values exist that would support populating multiple repetitions. Population of the [QuestionnaireResponse](http://hl7.org/fhir/R4/questionnaireresponse.html) with appropriate data is dependent on the questions and/or groups in the [Questionnaire](http://hl7.org/fhir/R4/questionnaire.html) having metadata that allows the server to recognize the questions. Guidance on mechanisms to perform population can be found [here](populate.html). Regardless of the mechanism used to link the questions in a questionnaire to a "known" mappable concept, solutions using this operation should ensure that the details of the question and associated linkage element are sufficiently similar as to safely allow auto-population; i.e. the question text and context must be sufficiently the same, the value set for the question must fall within the value set for the mapped element, the data types must be the same or convertible, etc. |
Type | true |
Kind | operation |
CapabilityStatement | |
https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication | Smart Forms Application |
http://hl7.org/fhir/us/sdoh-clinicalcare/CapabilityStatement/SDOHCC-CoordinationPlatform | SDOHCC Coordination Platform |
http://hl7.org/fhir/us/sdoh-clinicalcare/CapabilityStatement/SDOHCC-PatientApp | SDOHCC Patient Application |
http://hl7.org/fhir/us/sdoh-clinicalcare/CapabilityStatement/SDOHCC-ReferralSource | SDOHCC Referral Source |
sdc-form-filler | SDC Form Filler |
sdc-form-manager | SDC Form Manager |
sdc-form-filler | SDC Form Filler |
sdc-form-manager | SDC Form Manager |
No resources found
Note: links and images are rebased to the (stated) source
URL: [base]/Questionnaire/$populate
URL: [base]/Questionnaire/[id]/$populate
Parameters
Use | Name | Scope | Cardinality | Type | Binding | Documentation |
IN | identifier | 0..1 | Identifier | A logical questionnaire identifier (i.e. | ||
IN | canonical | 0..1 | uri | The canonical identifier for the questionnaire (optionally version-specific). | ||
IN | questionnaire | 0..1 | Questionnaire | The Questionnaire is provided directly as part of the request. Servers may choose not to accept questionnaires in this fashion | ||
IN | questionnaireRef | 0..1 | Reference | The Questionnaire is provided as a resource reference. Servers may choose not to accept questionnaires in this fashion or may fail if they cannot resolve or access the referenced questionnaire. | ||
IN | subject | 1..1 | Reference | The resource that is to be the QuestionnaireResponse.subject. The QuestionnaireResponse instance will reference the provided subject. In addition, if the local parameter is set to true, server information about the specified subject will be used to populate the instance. | ||
IN | context | 0..* | Resources containing information to be used to help populate the QuestionnaireResponse. These will typically be FHIR resources, though alternative population mechanisms might allow consumption of binaries containing FHIR documents, CDA documents or other source materials. Servers might not support all possible source materials and may ignore materials they do not recognize. (They MAY provide warnings if ignoring submitted resources.) | |||
IN | context.name | 0..* | string | The name of the launchContext or root Questionnaire variable the passed content should be used as for population purposes. The name SHALL correspond to a launchContext or variable delared at the root of the Questionnaire. | ||
IN | context.content | 0..* | Reference | The actual resource (or resources) to use as the value of the launchContext or variable. | ||
IN | local | 0..1 | boolean | If specified and set to | ||
IN | launchContext | 0..1 | Extension | Resources that provide context for form processing logic (pre-population) when creating/displaying/editing a QuestionnaireResponse. | ||
OUT | response | 1..1 | QuestionnaireResponse | The partially (or fully)-populated set of answers for the specified Questionnaire | ||
OUT | issues | 0..1 | OperationOutcome | A list of hints and warnings about problems encountered while populating the questionnaire. These might be show to the user as an advisory note. Note: if the questionnaire cannot be populated at all, then the operation should fail, and an OperationOutcome is returned directly with the failure, rather than using this parameter |
While it is theoretically possible for a QuestionnaireResponse instance to be completely auto-populated and submitted without human review, the intention of this transaction is merely to reduce redundant data entry. A client SHOULD ensure that a human submitter has an opportunity to review the auto-populated answers to confirm correctness as well as to complete or expand on information provided by the auto-population process. When creating an "empty" questionnaire, the general algorithm is to create a QuestionnaireResponse with one item for every item in the source Questionnaire, including items with "enableWhen", "display" items, etc. If a question has a default, the default answer should be populated. And the QuestionnaireResponse should point back to the originating Questionnaire. Repeating items will typically only include a single repetition. Other extensions and/or elements may also be populated if the system is aware of appropriate values. Complex form designs with conditional logic or tight constraints on cardinalities may be challenging to auto-populate. A server MAY choose to traverse the questionnaire as if it were a human respondent, answering only those questions that are enabled based on previously answered questions. However, doing so may result in minimal population. Alternatively, systems may choose to populate all known answers, independent of dependencies and other constraints. This may cause questions to be answered that should not be answered. It will be up to the client to appropriately prune the final populated questionnaire once human review has taken place. Invoking this operation with the content
parameter may involve the disclosure of personally identifiable healthcare information to the system which is performing the population process. No such disclosures should be made unless the system on which the operation is being invoked is a "trusted" system and appropriate agreements are in place to protect the confidentiality of any information shared with that system.
{
"resourceType" : "OperationDefinition",
"id" : "Questionnaire-populate",
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>URL: [base]/Questionnaire/$populate</p><p>URL: [base]/Questionnaire/[id]/$populate</p><p>Parameters</p><table class=\"grid\"><tr><td><b>Use</b></td><td><b>Name</b></td><td><b>Scope</b></td><td><b>Cardinality</b></td><td><b>Type</b></td><td><b>Binding</b></td><td><b>Documentation</b></td></tr><tr><td>IN</td><td>identifier</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#Identifier\">Identifier</a></td><td/><td><div><p>A logical questionnaire identifier (i.e. <code>Questionnaire.identifier</code>). The server must know the questionnaire or be able to retrieve it from other known repositories.</p>\n</div></td></tr><tr><td>IN</td><td>canonical</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#uri\">uri</a></td><td/><td><div><p>The canonical identifier for the questionnaire (optionally version-specific).</p>\n</div></td></tr><tr><td>IN</td><td>questionnaire</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/questionnaire.html\">Questionnaire</a></td><td/><td><div><p>The <a href=\"http://hl7.org/fhir/R4/questionnaire.html\">Questionnaire</a> is provided directly as part of the request. Servers may choose not to accept questionnaires in this fashion</p>\n</div></td></tr><tr><td>IN</td><td>questionnaireRef</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/references.html#Reference\">Reference</a></td><td/><td><div><p>The <a href=\"http://hl7.org/fhir/R4/questionnaire.html\">Questionnaire</a> is provided as a resource reference. Servers may choose not to accept questionnaires in this fashion or may fail if they cannot resolve or access the referenced questionnaire.</p>\n</div></td></tr><tr><td>IN</td><td>subject</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/references.html#Reference\">Reference</a></td><td/><td><div><p>The resource that is to be the <em>QuestionnaireResponse.subject</em>. The <a href=\"http://hl7.org/fhir/R4/questionnaireresponse.html\">QuestionnaireResponse</a> instance will reference the provided subject. In addition, if the <em>local</em> parameter is set to true, server information about the specified subject will be used to populate the instance.</p>\n</div></td></tr><tr><td>IN</td><td>context</td><td/><td>0..*</td><td></td><td/><td><div><p>Resources containing information to be used to help populate the <a href=\"http://hl7.org/fhir/R4/questionnaireresponse.html\">QuestionnaireResponse</a>. These will typically be FHIR resources, though alternative population mechanisms might allow consumption of binaries containing FHIR documents, CDA documents or other source materials. Servers might not support all possible source materials and may ignore materials they do not recognize. (They MAY provide warnings if ignoring submitted resources.)</p>\n</div></td></tr><tr><td>IN</td><td>context.name</td><td/><td>0..*</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td/><td><div><p>The name of the launchContext or root Questionnaire variable the passed content should be used as for population purposes. The name SHALL correspond to a launchContext or variable delared at the root of the Questionnaire.</p>\n</div></td></tr><tr><td>IN</td><td>context.content</td><td/><td>0..*</td><td><a href=\"http://hl7.org/fhir/R4/references.html#Reference\">Reference</a></td><td/><td><div><p>The actual resource (or resources) to use as the value of the launchContext or variable.</p>\n</div></td></tr><tr><td>IN</td><td>local</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/datatypes.html#boolean\">boolean</a></td><td/><td><div><p>If specified and set to <code>true</code> (and the server is capable), the server should use what resources and other knowledge it has about the referenced subject when pre-populating answers to questions.</p>\n</div></td></tr><tr><td>IN</td><td>launchContext</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/extensibility.html#Extension\">Extension</a></td><td/><td><div><p>Resources that provide context for form processing logic (pre-population) when creating/displaying/editing a QuestionnaireResponse.</p>\n</div></td></tr><tr><td>OUT</td><td>response</td><td/><td>1..1</td><td><a href=\"http://hl7.org/fhir/R4/questionnaireresponse.html\">QuestionnaireResponse</a></td><td/><td><div><p>The partially (or fully)-populated set of answers for the specified Questionnaire</p>\n</div></td></tr><tr><td>OUT</td><td>issues</td><td/><td>0..1</td><td><a href=\"http://hl7.org/fhir/R4/operationoutcome.html\">OperationOutcome</a></td><td/><td><div><p>A list of hints and warnings about problems encountered while populating the questionnaire. These might be show to the user as an advisory note. Note: if the questionnaire cannot be populated at all, then the operation should fail, and an OperationOutcome is returned directly with the failure, rather than using this parameter</p>\n</div></td></tr></table><div><p>While it is theoretically possible for a <a href=\"http://hl7.org/fhir/R4/questionnaireresponse.html\">QuestionnaireResponse</a> instance to be completely auto-populated and submitted without human review, the intention of this transaction is merely to reduce redundant data entry. A client <strong>SHOULD</strong> ensure that a human submitter has an opportunity to review the auto-populated answers to confirm correctness as well as to complete or expand on information provided by the auto-population process. When creating an "empty" questionnaire, the general algorithm is to create a QuestionnaireResponse with one item for every item in the source Questionnaire, including items with "enableWhen", "display" items, etc. If a question has a default, the default answer should be populated. And the QuestionnaireResponse should point back to the originating Questionnaire. Repeating items will typically only include a single repetition. Other extensions and/or elements may also be populated if the system is aware of appropriate values. Complex form designs with conditional logic or tight constraints on cardinalities may be challenging to auto-populate. A server MAY choose to traverse the questionnaire as if it were a human respondent, answering only those questions that are enabled based on previously answered questions. However, doing so may result in minimal population. Alternatively, systems may choose to populate all known answers, independent of dependencies and other constraints. This may cause questions to be answered that should not be answered. It will be up to the client to appropriately prune the final populated questionnaire once human review has taken place. Invoking this operation with the <code>content</code> parameter may involve the disclosure of personally identifiable healthcare information to the system which is performing the population process. No such disclosures should be made unless the system on which the operation is being invoked is a "trusted" system and appropriate agreements are in place to protect the confidentiality of any information shared with that system.</p>\n</div></div>"
},
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
"valueCode" : "fhir"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
"valueInteger" : 3,
"_valueInteger" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
"valueCanonical" : "http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc"
}
]
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
"valueCode" : "trial-use",
"_valueCode" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
"valueCanonical" : "http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc"
}
]
}
}
],
"url" : "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-populate",
"version" : "3.0.0",
"name" : "SDCPopulateQuestionnaire",
"title" : "Populate Questionnaire",
"status" : "draft",
"kind" : "operation",
"date" : "2018-08-19T21:48:56+10:00",
"publisher" : "HL7 International / FHIR Infrastructure",
"contact" : [
{
"name" : "HL7 International / FHIR Infrastructure",
"telecom" : [
{
"system" : "url",
"value" : "http://www.hl7.org/Special/committees/fiwg"
}
]
},
{
"telecom" : [
{
"system" : "url",
"value" : "http://www.hl7.org/Special/committees/fiwg"
}
]
}
],
"description" : "Generates a [QuestionnaireResponse](http://hl7.org/fhir/R4/questionnaireresponse.html) instance based on a specified [Questionnaire](http://hl7.org/fhir/R4/questionnaire.html), filling in answers to questions where possible based on information provided as part of the operation or already known by the server about the subject of the [Questionnaire](http://hl7.org/fhir/R4/questionnaire.html). If the operation is not called at the instance level, one and only one of the identifier, questionnaire or questionnaireRef `in` parameters must be provided. If called at the instance level, these parameters will be ignored. The response will contain a [QuestionnaireResponse](http://hl7.org/fhir/R4/questionnaireresponse.html) instance based on the specified [Questionnaire](http://hl7.org/fhir/R4/questionnaire.html) and/or an [OperationOutcome](http://hl7.org/fhir/R4/operationoutcome.html) resource with errors or warnings. The [QuestionnaireResponse](http://hl7.org/fhir/R4/questionnaireresponse.html) instance will be populated with an unanswered set of questions following the group and question structure of the specified [Questionnaire](http://hl7.org/fhir/R4/questionnaire.html). If *content* parameters were specified or the *local* parameter was set to true, some of the questions may have answers filled in as well. In the case of repeating questions or groups, typically only one repetition will be provided unless answer values exist that would support populating multiple repetitions. Population of the [QuestionnaireResponse](http://hl7.org/fhir/R4/questionnaireresponse.html) with appropriate data is dependent on the questions and/or groups in the [Questionnaire](http://hl7.org/fhir/R4/questionnaire.html) having metadata that allows the server to recognize the questions. Guidance on mechanisms to perform population can be found [here](populate.html). Regardless of the mechanism used to link the questions in a questionnaire to a \"known\" mappable concept, solutions using this operation should ensure that the details of the question and associated linkage element are sufficiently similar as to safely allow auto-population; i.e. the question text and context must be sufficiently the same, the value set for the question must fall within the value set for the mapped element, the data types must be the same or convertible, etc.",
"jurisdiction" : [
{
"coding" : [
{
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code" : "001",
"display" : "World"
}
]
}
],
"code" : "populate",
"comment" : "While it is theoretically possible for a [QuestionnaireResponse](http://hl7.org/fhir/R4/questionnaireresponse.html) instance to be completely auto-populated and submitted without human review, the intention of this transaction is merely to reduce redundant data entry. A client **SHOULD** ensure that a human submitter has an opportunity to review the auto-populated answers to confirm correctness as well as to complete or expand on information provided by the auto-population process. When creating an \"empty\" questionnaire, the general algorithm is to create a QuestionnaireResponse with one item for every item in the source Questionnaire, including items with \"enableWhen\", \"display\" items, etc. If a question has a default, the default answer should be populated. And the QuestionnaireResponse should point back to the originating Questionnaire. Repeating items will typically only include a single repetition. Other extensions and/or elements may also be populated if the system is aware of appropriate values. Complex form designs with conditional logic or tight constraints on cardinalities may be challenging to auto-populate. A server MAY choose to traverse the questionnaire as if it were a human respondent, answering only those questions that are enabled based on previously answered questions. However, doing so may result in minimal population. Alternatively, systems may choose to populate all known answers, independent of dependencies and other constraints. This may cause questions to be answered that should not be answered. It will be up to the client to appropriately prune the final populated questionnaire once human review has taken place. Invoking this operation with the `content` parameter may involve the disclosure of personally identifiable healthcare information to the system which is performing the population process. No such disclosures should be made unless the system on which the operation is being invoked is a \"trusted\" system and appropriate agreements are in place to protect the confidentiality of any information shared with that system.",
"resource" : [
"Questionnaire"
],
"system" : false,
"type" : true,
"instance" : true,
"parameter" : [
{
"name" : "identifier",
"use" : "in",
"min" : 0,
"max" : "1",
"documentation" : "A logical questionnaire identifier (i.e. `Questionnaire.identifier`). The server must know the questionnaire or be able to retrieve it from other known repositories.",
"type" : "Identifier"
},
{
"name" : "canonical",
"use" : "in",
"min" : 0,
"max" : "1",
"documentation" : "The canonical identifier for the questionnaire (optionally version-specific).",
"type" : "uri"
},
{
"name" : "questionnaire",
"use" : "in",
"min" : 0,
"max" : "1",
"documentation" : "The [Questionnaire](http://hl7.org/fhir/R4/questionnaire.html) is provided directly as part of the request. Servers may choose not to accept questionnaires in this fashion",
"type" : "Questionnaire"
},
{
"name" : "questionnaireRef",
"use" : "in",
"min" : 0,
"max" : "1",
"documentation" : "The [Questionnaire](http://hl7.org/fhir/R4/questionnaire.html) is provided as a resource reference. Servers may choose not to accept questionnaires in this fashion or may fail if they cannot resolve or access the referenced questionnaire.",
"type" : "Reference",
"targetProfile" : [
"http://hl7.org/fhir/StructureDefinition/Questionnaire"
]
},
{
"name" : "subject",
"use" : "in",
"min" : 1,
"max" : "1",
"documentation" : "The resource that is to be the *QuestionnaireResponse.subject*. The [QuestionnaireResponse](http://hl7.org/fhir/R4/questionnaireresponse.html) instance will reference the provided subject. In addition, if the *local* parameter is set to true, server information about the specified subject will be used to populate the instance.",
"type" : "Reference"
},
{
"name" : "context",
"use" : "in",
"min" : 0,
"max" : "*",
"documentation" : "Resources containing information to be used to help populate the [QuestionnaireResponse](http://hl7.org/fhir/R4/questionnaireresponse.html). These will typically be FHIR resources, though alternative population mechanisms might allow consumption of binaries containing FHIR documents, CDA documents or other source materials. Servers might not support all possible source materials and may ignore materials they do not recognize. (They MAY provide warnings if ignoring submitted resources.)",
"part" : [
{
"name" : "name",
"use" : "in",
"min" : 0,
"max" : "*",
"documentation" : "The name of the launchContext or root Questionnaire variable the passed content should be used as for population purposes. The name SHALL correspond to a launchContext or variable delared at the root of the Questionnaire.",
"type" : "string"
},
{
"name" : "content",
"use" : "in",
"min" : 0,
"max" : "*",
"documentation" : "The actual resource (or resources) to use as the value of the launchContext or variable.",
"type" : "Reference"
}
]
},
{
"name" : "local",
"use" : "in",
"min" : 0,
"max" : "1",
"documentation" : "If specified and set to `true` (and the server is capable), the server should use what resources and other knowledge it has about the referenced subject when pre-populating answers to questions.",
"type" : "boolean"
},
{
"name" : "launchContext",
"use" : "in",
"min" : 0,
"max" : "1",
"documentation" : "Resources that provide context for form processing logic (pre-population) when creating/displaying/editing a QuestionnaireResponse.",
"type" : "Extension"
},
{
"name" : "response",
"use" : "out",
"min" : 1,
"max" : "1",
"documentation" : "The partially (or fully)-populated set of answers for the specified Questionnaire",
"type" : "QuestionnaireResponse"
},
{
"name" : "issues",
"use" : "out",
"min" : 0,
"max" : "1",
"documentation" : "A list of hints and warnings about problems encountered while populating the questionnaire. These might be show to the user as an advisory note. Note: if the questionnaire cannot be populated at all, then the operation should fail, and an OperationOutcome is returned directly with the failure, rather than using this parameter",
"type" : "OperationOutcome"
}
]
}
XIG built as of ??metadata-date??. Found ??metadata-resources?? resources in ??metadata-packages?? packages.